import QtQuick 1.0
import "SettingManager.js" as SettingManager

Item {

    property string versionNumber : "0.9";              //バージョン番号

    // 内部的に保存する設定
    property int windowWidth: 360                       // ウインドウサイズ
    property int windowHeight: 600                      // ウインドウサイズ

    // 全般
    property int updateInterval: 60                     // 更新間隔（秒）
    property int inReplyCountMax: 4                     // 返信元を追いかける回数
    property int updateCount: 30                        // 取得する数
    property bool toFocusTweetButton: false             // ツイートボタンにフォーカスを当てるか
    property int viewCountMax: 1000                     // 表示する件数の最大値

    //フォントサイズ
    property int fontPixelSizeTitle: 16                 // タイトル（ユーザー名）
    property int fontPixelSizeMessage: 20               //本文（ツイート）
    property int fontPixelSizeInfomation: 14            //情報（時間など）
    property int fontPixelSizeInputBox: 18              // 入力ボックス
    property int fontPixelSizeRemainCount: 16           // 入力文字残数
    property int fontPixelSizeTweetButton: 16           // ツイートボタン
    property int fontPixelSizeContext: 20               // コンテキストメニュー
    property int fontPixelSizeButton: 20                // ボタン
    property int fontPixelSizeDlgMessageL: 18           // ダイアログメッセージ
    property int fontPixelSizeDlgMessageM: 16           // ダイアログメッセージ
    property int fontPixelSizeDlgMessageS: 14           // ダイアログメッセージ

    // 画像サイズ
    property int iconSize: 36                           // アイコンサイズ

    /////////////////////////////////////
    // テーマ関連
    /////////////////////////////////////

    //背景
    property string wallpaperPath: "../../wallpaper.jpg";      //壁紙パス
    property color backgroundColor: "#cc000000";              //背景色
    property real backgroundOpacity: 1.0;                    //背景の透過率（0.0～1.0）

    // アイテムの背景
    property color itemBkColor: "#00000000";                // アイテムの背景色
    property color itemBkColorForMe: "#33aa5500";           // アイテムに自分のIDが含まれている場合の背景色
    property color itemBkColorPressed: "#33dd0000";         // アイテムを押した時の背景色
    property color itemBkColorHover: "#33ffffff";           // アイテムの上にカーソルを合わせた時の背景色
    property color itemBkColorSelected: "#440000ff";        // アイテムを選択した時の背景（カーソルの色）
    //フォントカラー
    property color fontColorTitle: "#aaaadd";               //タイトル（ユーザー名）
    property color fontColorMessage: "#dddddd";             //本文（ツイート）
    property color fontColorInfomation: "#aaaaaa";          //情報（時間など）
    //スクロールバー
    property color scrollBarBaseColor: "#22ffffff"          // スクロールバーのベース（色）
    property color scrollBarColor: "#ffffff";               // スクロールバー（色）
    property real scrollBarOpacity: 0.7;                    // スクロールバー（透過）
    //ラインタブ
    property color lineTabColor: "#666666"                  // タブのアクティブ
    property color lineTabBaseColor: "#666666"              // タブのベース
    property real lineTabOpacity: 1.0                       // タブの透過率
    property color lineTabFontColor: "#dddddd"              // タブに表示する文字の色
    property int lineTabFontStyle: Text.Normal      // タブに表示する文字のスタイル
    property color lineTabFontStyleColor: "#ffffff"         // タブに表示する文字のスタイルの色
    property int lineTabFontSize: 12                        // タブに表示する文字のフォントサイズ


    function load() {

        //ウインドウサイズ調節
        windowWidth = SettingManager.getValueInt(SettingManager.SETTING_KEY_MAIN_WINDOW_WIDTH, windowWidth);
        windowHeight = SettingManager.getValueInt(SettingManager.SETTING_KEY_MAIN_WINDOW_HEIGHT, windowHeight);
        // 一般設定
        updateInterval = SettingManager.getValueInt(SettingManager.SETTING_KEY_GENERAL_UPDATE_INTERVAL, updateInterval);
        inReplyCountMax = SettingManager.getValueInt(SettingManager.SETTING_KEY_GENERAL_INREPLYTO_COUNT_MAX, inReplyCountMax);
        toFocusTweetButton = SettingManager.getValueBool(SettingManager.SETTING_KEY_GENERAL_TO_FOCUS_TWEET_BUTTON);
        updateCount = SettingManager.getValueInt(SettingManager.SETTING_KEY_GENERAL_UPDATE_COUNT, updateCount);
        viewCountMax = SettingManager.getValueInt(SettingManager.SETTING_KEY_GENERAL_VIEW_COUNT, viewCountMax);
        // 表示アイテム
        fontPixelSizeTitle = SettingManager.getValueInt(SettingManager.SETTING_KEY_VIEWITEM_TITLE, fontPixelSizeTitle);
        fontPixelSizeMessage = SettingManager.getValueInt(SettingManager.SETTING_KEY_VIEWITEM_MESSAGE, fontPixelSizeMessage);
        fontPixelSizeInfomation = SettingManager.getValueInt(SettingManager.SETTING_KEY_VIEWITEM_INFORMATION, fontPixelSizeInfomation);
        fontPixelSizeInputBox = SettingManager.getValueInt(SettingManager.SETTING_KEY_VIEWITEM_INPUTBOX, fontPixelSizeInputBox);
        iconSize = SettingManager.getValueInt(SettingManager.SETTING_KEY_VIEWITEM_ICONSIZE, iconSize);

    }

    function save(){

        //ウインドウサイズ調節
        SettingManager.setValue(SettingManager.SETTING_KEY_MAIN_WINDOW_WIDTH, windowWidth);
        SettingManager.setValue(SettingManager.SETTING_KEY_MAIN_WINDOW_HEIGHT, windowHeight);
        // 一般設定
        SettingManager.setValue(SettingManager.SETTING_KEY_GENERAL_UPDATE_INTERVAL, updateInterval);
        SettingManager.setValue(SettingManager.SETTING_KEY_GENERAL_INREPLYTO_COUNT_MAX, inReplyCountMax);
        SettingManager.setValue(SettingManager.SETTING_KEY_GENERAL_TO_FOCUS_TWEET_BUTTON, toFocusTweetButton);
        SettingManager.setValue(SettingManager.SETTING_KEY_GENERAL_UPDATE_COUNT, updateCount);
        SettingManager.setValue(SettingManager.SETTING_KEY_GENERAL_VIEW_COUNT, viewCountMax);
        // 表示アイテム
        SettingManager.setValue(SettingManager.SETTING_KEY_VIEWITEM_TITLE, fontPixelSizeTitle);
        SettingManager.setValue(SettingManager.SETTING_KEY_VIEWITEM_MESSAGE, fontPixelSizeMessage);
        SettingManager.setValue(SettingManager.SETTING_KEY_VIEWITEM_INFORMATION, fontPixelSizeInfomation);
        SettingManager.setValue(SettingManager.SETTING_KEY_VIEWITEM_INPUTBOX, fontPixelSizeInputBox);
        SettingManager.setValue(SettingManager.SETTING_KEY_VIEWITEM_ICONSIZE, iconSize);
    }

}
